<HTML><HEAD>
<META NAME="copyright" CONTENT="Copyright (c) 1986-2004, Eiffel Software and others">
<META NAME="license" CONTENT="Eiffel Forum License v2 (see forum.txt)">
<META NAME="description" CONTENT="Objects representing delayed calls to a boolean function, with some arguments possibly still open.">
<META NAME="library" CONTENT="Free implementation of ELKS library">
<META NAME="keywords" CONTENT="Eiffel class">
<META NAME="keywords" CONTENT="Eiffel class">
<TITLE>predicate Flat contracts</TITLE></HEAD>
<BODY BGCOLOR="white">
<P ALIGN="CENTER">Automatic generation produced by ISE Eiffel</P>
<PRE><TABLE BORDER="1" ALIGN="CENTER"><TR><TD><A HREF="../class_list.html">Classes</A></TD><TD><A HREF="../cluster_list.html">Clusters</A></TD><TD><A HREF="../cluster_hierarchy.html">Cluster hierarchy</A></TD><TD><A HREF="predicate_chart.html">Chart</A></TD><TD><A HREF="predicate_links.html">Relations</A></TD><TD>Flat contracts</TD></TR></TABLE><B>indexing</B>
    description: "[
        Objects representing delayed calls to a boolean function,
        with some arguments possibly still open.
    ]"
    library: "Free implementation of ELKS library"
    copyright: "Copyright (c) 1986-2004, Eiffel Software and others"
    license: "Eiffel Forum License v2 (see forum.txt)"
    date: "$Date: $"
    revision: "$Revision: $"

<B>class</B> <B>interface</B>
    <A HREF="../base/predicate_flatshort.html">PREDICATE</A> [BASE_TYPE, OPEN_ARGS -&gt; <A HREF="../base/tuple_flatshort.html">TUPLE</A> <B>create</B> <A HREF="../base/any_flatshort.html#f_default_create">default_create</A> <B>end</B>]


<B>create</B> 
    <A NAME="f_default_create"><A HREF="../base/any_flatshort.html#f_default_create">default_create</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Process instances of classes with no creation clause.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (Default: do nothing.)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
</A>
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Initialization</FONT>

    <A NAME="f_adapt"><A HREF="../base/routine_flatshort.html#f_adapt">adapt</A> (other: <A HREF="../base/predicate_flatshort.html">PREDICATE</A> [BASE_TYPE, OPEN_ARGS])
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Initialize from </FONT>`other'<FONT COLOR="red">.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Useful in descendants.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/routine_flatshort.html">ROUTINE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/routine_flatshort.html">ROUTINE</A>
            other_exists: other /= <B>Void</B>
            conforming: <A HREF="../base/any_flatshort.html#f_conforms_to">conforms_to</A> (other)
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Access</FONT>

    <A NAME="f_apply"><A HREF="../base/function_flatshort.html#f_apply">apply</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Call function with </FONT><A HREF="../base/routine_flatshort.html#f_operands">operands</A><FONT COLOR="red"> as last set.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/function_flatshort.html">FUNCTION</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/routine_flatshort.html">ROUTINE</A>
            valid_operands: <A HREF="../base/routine_flatshort.html#f_valid_operands">valid_operands</A> (<A HREF="../base/routine_flatshort.html#f_operands">operands</A>)
</A>
    <A NAME="f_call"><A HREF="../base/function_flatshort.html#f_call">call</A> (args: OPEN_ARGS)
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Call routine with </FONT>`args'<FONT COLOR="red">.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/function_flatshort.html">FUNCTION</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/routine_flatshort.html">ROUTINE</A>
            valid_operands: <A HREF="../base/routine_flatshort.html#f_valid_operands">valid_operands</A> (args)
</A>
    <A NAME="f_empty_operands"><A HREF="../base/routine_flatshort.html#f_empty_operands">empty_operands</A>: OPEN_ARGS
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Empty tuple matching open operands</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/routine_flatshort.html">ROUTINE</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/routine_flatshort.html">ROUTINE</A>
            empty_operands_not_void: <B>Result</B> /= <B>Void</B>
</A>
    <A NAME="f_generating_type"><A HREF="../base/any_flatshort.html#f_generating_type">generating_type</A>: <A HREF="../base/string_8_flatshort.html">STRING_8</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Name of current object's generating type</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (type of which it is a direct instance)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            generating_type_not_void: <B>Result</B> /= <B>Void</B>
            generating_type_not_empty: <B>not</B> <B>Result</B>.<A HREF="../base/finite_flatshort.html#f_is_empty">is_empty</A>
</A>
    <A NAME="f_generator"><A HREF="../base/any_flatshort.html#f_generator">generator</A>: <A HREF="../base/string_8_flatshort.html">STRING_8</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Name of current object's generating class</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (base class of the type of which it is a direct instance)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            generator_not_void: <B>Result</B> /= <B>Void</B>
            generator_not_empty: <B>not</B> <B>Result</B>.<A HREF="../base/finite_flatshort.html#f_is_empty">is_empty</A>
</A>
    <A NAME="f_hash_code"><A HREF="../base/routine_flatshort.html#f_hash_code">hash_code</A>: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Hash code value.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/routine_flatshort.html">ROUTINE</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/hashable_flatshort.html">HASHABLE</A>
            good_hash_value: <B>Result</B> &gt;= 0
</A>
    <A NAME="f_item"><A HREF="../base/function_flatshort.html#f_item">item</A> (args: OPEN_ARGS): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Result of calling function with </FONT>`args'<FONT COLOR="red"> as operands.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/function_flatshort.html">FUNCTION</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/function_flatshort.html">FUNCTION</A>
            valid_operands: <A HREF="../base/routine_flatshort.html#f_valid_operands">valid_operands</A> (args)
</A>
    <A NAME="f_last_result"><A HREF="../base/function_flatshort.html#f_last_result">last_result</A>: <A HREF="../base/boolean_flatshort.html">BOOLEAN</A></A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Result of last call, if any.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/function_flatshort.html">FUNCTION</A><FONT COLOR="red">)</FONT>

    <A NAME="f_operands"><B>frozen</B> <A HREF="../base/routine_flatshort.html#f_operands">operands</A>: OPEN_ARGS</A>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/routine_flatshort.html">ROUTINE</A><FONT COLOR="red">)</FONT>

    <A NAME="f_postcondition"><A HREF="../base/routine_flatshort.html#f_postcondition">postcondition</A> (args: <B>like</B> <A HREF="../base/routine_flatshort.html#f_operands">operands</A>): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Does current state satisfy routine's</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> postcondition for </FONT>`args'<FONT COLOR="red">?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/routine_flatshort.html">ROUTINE</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_precondition"><A HREF="../base/routine_flatshort.html#f_precondition">precondition</A> (args: <B>like</B> <A HREF="../base/routine_flatshort.html#f_operands">operands</A>): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Do </FONT>`args'<FONT COLOR="red"> satisfy routine's precondition</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> in current state?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/routine_flatshort.html">ROUTINE</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_target"><A HREF="../base/routine_flatshort.html#f_target">target</A>: ?<A HREF="../base/any_flatshort.html">ANY</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Target of call.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/routine_flatshort.html">ROUTINE</A><FONT COLOR="red">)</FONT>
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Measurement</FONT>

    <A NAME="f_open_count"><A HREF="../base/routine_flatshort.html#f_open_count">open_count</A>: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A></A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Number of open operands.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/routine_flatshort.html">ROUTINE</A><FONT COLOR="red">)</FONT>
    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Comparison</FONT>

    <A NAME="f_deep_equal"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_deep_equal">deep_equal</A> (some: ?<A HREF="../base/any_flatshort.html">ANY</A>; other: <B>like</B> arg #1): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Are </FONT>`some'<FONT COLOR="red"> and </FONT>`other'<FONT COLOR="red"> either both void</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> or attached to isomorphic object structures?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            shallow_implies_deep: <A HREF="../base/any_flatshort.html#f_standard_equal">standard_equal</A> (some, other) <B>implies</B> <B>Result</B>
            both_or_none_void: (some = <B>Void</B>) <B>implies</B> (<B>Result</B> = (other = <B>Void</B>))
            same_type: (<B>Result</B> <B>and</B> (some /= <B>Void</B>)) <B>implies</B> (other /= <B>Void</B> <B>and then</B> some.<A HREF="../base/any_flatshort.html#f_same_type">same_type</A> (other))
            symmetric: <B>Result</B> <B>implies</B> <A HREF="../base/any_flatshort.html#f_deep_equal">deep_equal</A> (other, some)
</A>
    <A NAME="f_equal"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_equal">equal</A> (some: ?<A HREF="../base/any_flatshort.html">ANY</A>; other: <B>like</B> arg #1): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Are </FONT>`some'<FONT COLOR="red"> and </FONT>`other'<FONT COLOR="red"> either both void or attached</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> to objects considered equal?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            definition: <B>Result</B> = (some = <B>Void</B> <B>and</B> other = <B>Void</B>) <B>or else</B> ((some /= <B>Void</B> <B>and</B> other /= <B>Void</B>) <B>and then</B> some.<A HREF="../base/any_flatshort.html#f_is_equal">is_equal</A> (other))
</A>
    <A NAME="f_is_deep_equal"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_is_deep_equal">is_deep_equal</A> (other: <A HREF="../base/predicate_flatshort.html">PREDICATE</A> [BASE_TYPE, OPEN_ARGS]): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Are </FONT>`Current'<FONT COLOR="red"> and </FONT>`other'<FONT COLOR="red"> attached to isomorphic object structures?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            shallow_implies_deep: <A HREF="../base/any_flatshort.html#f_standard_is_equal">standard_is_equal</A> (other) <B>implies</B> <B>Result</B>
            same_type: <B>Result</B> <B>implies</B> <A HREF="../base/any_flatshort.html#f_same_type">same_type</A> (other)
            symmetric: <B>Result</B> <B>implies</B> other.<A HREF="../base/any_flatshort.html#f_is_deep_equal">is_deep_equal</A> (<B>Current</B>)
</A>
    <A NAME="f_is_equal"><A HREF="../base/function_flatshort.html#f_is_equal">is_equal</A> (other: <A HREF="../base/predicate_flatshort.html">PREDICATE</A> [BASE_TYPE, OPEN_ARGS]): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is associated function the same as the one</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> associated with </FONT>`other'<FONT COLOR="red">?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/function_flatshort.html">FUNCTION</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            symmetric: <B>Result</B> <B>implies</B> other.<A HREF="../base/any_flatshort.html#f_is_equal">is_equal</A> (<B>Current</B>)
            consistent: <A HREF="../base/any_flatshort.html#f_standard_is_equal">standard_is_equal</A> (other) <B>implies</B> <B>Result</B>
</A>
    <A NAME="f_standard_equal"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_standard_equal">standard_equal</A> (some: ?<A HREF="../base/any_flatshort.html">ANY</A>; other: <B>like</B> arg #1): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Are </FONT>`some'<FONT COLOR="red"> and </FONT>`other'<FONT COLOR="red"> either both void or attached to</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> field-by-field identical objects of the same type?</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Always uses default object comparison criterion.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            definition: <B>Result</B> = (some = <B>Void</B> <B>and</B> other = <B>Void</B>) <B>or else</B> ((some /= <B>Void</B> <B>and</B> other /= <B>Void</B>) <B>and then</B> some.<A HREF="../base/any_flatshort.html#f_standard_is_equal">standard_is_equal</A> (other))
</A>
    <A NAME="f_standard_is_equal"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_standard_is_equal">standard_is_equal</A> (other: <A HREF="../base/predicate_flatshort.html">PREDICATE</A> [BASE_TYPE, OPEN_ARGS]): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is </FONT>`other'<FONT COLOR="red"> attached to an object of the same type</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> as current object, and field-by-field identical to it?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            same_type: <B>Result</B> <B>implies</B> <A HREF="../base/any_flatshort.html#f_same_type">same_type</A> (other)
            symmetric: <B>Result</B> <B>implies</B> other.<A HREF="../base/any_flatshort.html#f_standard_is_equal">standard_is_equal</A> (<B>Current</B>)
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Status report</FONT>

    <A NAME="f_callable"><A HREF="../base/routine_flatshort.html#f_callable">callable</A>: <A HREF="../base/boolean_flatshort.html">BOOLEAN</A> <B>is</B> <B>True</B></A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Can routine be called on current object?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/routine_flatshort.html">ROUTINE</A><FONT COLOR="red">)</FONT>

    <A NAME="f_conforms_to"><A HREF="../base/any_flatshort.html#f_conforms_to">conforms_to</A> (other: <A HREF="../base/any_flatshort.html">ANY</A>): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Does type of current object conform to type</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> of </FONT>`other'<FONT COLOR="red"> (as per Eiffel: The Language, chapter 13)?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
</A>
    <A NAME="f_is_hashable"><A HREF="../base/hashable_flatshort.html#f_is_hashable">is_hashable</A>: <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> May current object be hashed?</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (True by default.)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/hashable_flatshort.html">HASHABLE</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_is_target_closed"><A HREF="../base/routine_flatshort.html#f_is_target_closed">is_target_closed</A>: <A HREF="../base/boolean_flatshort.html">BOOLEAN</A></A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is target for current agent closed, i.e. specified at creation time?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/routine_flatshort.html">ROUTINE</A><FONT COLOR="red">)</FONT>

    <A NAME="f_same_type"><A HREF="../base/any_flatshort.html#f_same_type">same_type</A> (other: <A HREF="../base/any_flatshort.html">ANY</A>): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is type of current object identical to type of </FONT>`other'<FONT COLOR="red">?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            definition: <B>Result</B> = (<A HREF="../base/any_flatshort.html#f_conforms_to">conforms_to</A> (other) <B>and</B> other.<A HREF="../base/any_flatshort.html#f_conforms_to">conforms_to</A> (<B>Current</B>))
</A>
    <A NAME="f_valid_operands"><A HREF="../base/routine_flatshort.html#f_valid_operands">valid_operands</A> (args: ?<A HREF="../base/tuple_flatshort.html">TUPLE</A>): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Are </FONT>`args'<FONT COLOR="red"> valid operands for this routine?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/routine_flatshort.html">ROUTINE</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_valid_target"><A HREF="../base/routine_flatshort.html#f_valid_target">valid_target</A> (args: ?<A HREF="../base/tuple_flatshort.html">TUPLE</A>): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is the first element of tuple </FONT>`args'<FONT COLOR="red"> a valid target</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/routine_flatshort.html">ROUTINE</A><FONT COLOR="red">)</FONT>
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Removal</FONT>

    <A NAME="f_clear_last_result"><A HREF="../base/function_flatshort.html#f_clear_last_result">clear_last_result</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Reset content of </FONT><A HREF="../base/function_flatshort.html#f_last_result">last_result</A><FONT COLOR="red"> to its default value</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/function_flatshort.html">FUNCTION</A><FONT COLOR="red">)</FONT>
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Duplication</FONT>

    <A NAME="f_copy"><A HREF="../base/function_flatshort.html#f_copy">copy</A> (other: <A HREF="../base/predicate_flatshort.html">PREDICATE</A> [BASE_TYPE, OPEN_ARGS])
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Use same function as </FONT>`other'<FONT COLOR="red">.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/function_flatshort.html">FUNCTION</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
            type_identity: <A HREF="../base/any_flatshort.html#f_same_type">same_type</A> (other)
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            is_equal: <A HREF="../base/function_flatshort.html#f_is_equal">is_equal</A> (other)
        <B>ensure then</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/routine_flatshort.html">ROUTINE</A>
            same_call_status: other.<A HREF="../base/routine_flatshort.html#f_callable">callable</A> <B>implies</B> <A HREF="../base/routine_flatshort.html#f_callable">callable</A>
</A>
    <A NAME="f_deep_copy"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_deep_copy">deep_copy</A> (other: <A HREF="../base/predicate_flatshort.html">PREDICATE</A> [BASE_TYPE, OPEN_ARGS])
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Effect equivalent to that of:</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red">		</FONT><A HREF="../base/function_flatshort.html#f_copy">copy</A><FONT COLOR="red"> (</FONT>`other'<FONT COLOR="red"> . </FONT><A HREF="../base/any_flatshort.html#f_deep_twin">deep_twin</A><FONT COLOR="red">)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            deep_equal: <A HREF="../base/any_flatshort.html#f_deep_equal">deep_equal</A> (<B>Current</B>, other)
</A>
    <A NAME="f_deep_twin"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_deep_twin">deep_twin</A>: <A HREF="../base/predicate_flatshort.html">PREDICATE</A> [BASE_TYPE, OPEN_ARGS]
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> New object structure recursively duplicated from Current.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            deep_twin_not_void: <B>Result</B> /= <B>Void</B>
            deep_equal: <A HREF="../base/any_flatshort.html#f_deep_equal">deep_equal</A> (<B>Current</B>, <B>Result</B>)
</A>
    <A NAME="f_standard_copy"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_standard_copy">standard_copy</A> (other: <A HREF="../base/predicate_flatshort.html">PREDICATE</A> [BASE_TYPE, OPEN_ARGS])
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Copy every field of </FONT>`other'<FONT COLOR="red"> onto corresponding field</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> of current object.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
            type_identity: <A HREF="../base/any_flatshort.html#f_same_type">same_type</A> (other)
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            is_standard_equal: <A HREF="../base/any_flatshort.html#f_standard_is_equal">standard_is_equal</A> (other)
</A>
    <A NAME="f_standard_twin"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_standard_twin">standard_twin</A>: <A HREF="../base/predicate_flatshort.html">PREDICATE</A> [BASE_TYPE, OPEN_ARGS]
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> New object field-by-field identical to </FONT>`other'<FONT COLOR="red">.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Always uses default copying semantics.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            standard_twin_not_void: <B>Result</B> /= <B>Void</B>
            equal: <A HREF="../base/any_flatshort.html#f_standard_equal">standard_equal</A> (<B>Result</B>, <B>Current</B>)
</A>
    <A NAME="f_twin"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_twin">twin</A>: <A HREF="../base/predicate_flatshort.html">PREDICATE</A> [BASE_TYPE, OPEN_ARGS]
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> New object equal to </FONT>`Current'
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> </FONT><A HREF="../base/any_flatshort.html#f_twin">twin</A><FONT COLOR="red"> calls </FONT><A HREF="../base/function_flatshort.html#f_copy">copy</A><FONT COLOR="red">; to change copying/twining semantics, redefine </FONT><A HREF="../base/function_flatshort.html#f_copy">copy</A><FONT COLOR="red">.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            twin_not_void: <B>Result</B> /= <B>Void</B>
            is_equal: <B>Result</B>.<A HREF="../base/any_flatshort.html#f_is_equal">is_equal</A> (<B>Current</B>)
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Basic operations</FONT>

    <A NAME="f_default"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_default">default</A>: ?<A HREF="../base/predicate_flatshort.html">PREDICATE</A> [BASE_TYPE, OPEN_ARGS]
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Default value of object's type</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_default_pointer"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_default_pointer">default_pointer</A>: <A HREF="../base/pointer_flatshort.html">POINTER</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Default value of type </FONT>`POINTER'
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (Avoid the need to write </FONT>`p'<FONT COLOR="red">.</FONT><A HREF="../base/any_flatshort.html#f_default">default</A><FONT COLOR="red"> for</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> some </FONT>`p'<FONT COLOR="red"> of type </FONT>`POINTER'<FONT COLOR="red">.)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_default_rescue"><A HREF="../base/any_flatshort.html#f_default_rescue">default_rescue</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Process exception for routines with no Rescue clause.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (Default: do nothing.)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_do_nothing"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_do_nothing">do_nothing</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Execute a null action.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Output</FONT>

    <A NAME="f_io"><A HREF="../base/any_flatshort.html#f_io">io</A>: <A HREF="../base/std_files_flatshort.html">STD_FILES</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Handle to standard file setup</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            io_not_void: <B>Result</B> /= <B>Void</B>
</A>
    <A NAME="f_out"><A HREF="../base/any_flatshort.html#f_out">out</A>: <A HREF="../base/string_8_flatshort.html">STRING_8</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> New string containing terse printable representation</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> of current object</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            out_not_void: <B>Result</B> /= <B>Void</B>
</A>
    <A NAME="f_print"><A HREF="../base/any_flatshort.html#f_print">print</A> (some: ?<A HREF="../base/any_flatshort.html">ANY</A>)
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Write terse external representation of </FONT>`some'
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> on standard output.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_tagged_out"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_tagged_out">tagged_out</A>: <A HREF="../base/string_8_flatshort.html">STRING_8</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> New string containing terse printable representation</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> of current object</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            tagged_out_not_void: <B>Result</B> /= <B>Void</B>
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Platform</FONT>

    <A NAME="f_operating_environment"><A HREF="../base/any_flatshort.html#f_operating_environment">operating_environment</A>: <A HREF="../base/operating_environment_flatshort.html">OPERATING_ENVIRONMENT</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Objects available from the operating system</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            operating_environment_not_void: <B>Result</B> /= <B>Void</B>
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Settings</FONT>

    <A NAME="f_set_operands"><B>frozen</B> <A HREF="../base/routine_flatshort.html#f_set_operands">set_operands</A> (args: OPEN_ARGS)
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Use </FONT>`args'<FONT COLOR="red"> as operands for next call.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/routine_flatshort.html">ROUTINE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/routine_flatshort.html">ROUTINE</A>
            valid_operands: <A HREF="../base/routine_flatshort.html#f_valid_operands">valid_operands</A> (args)
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/routine_flatshort.html">ROUTINE</A>
            operands_set: (<A HREF="../base/routine_flatshort.html#f_operands">operands</A> /= <B>Void</B> <B>implies</B> <A HREF="../base/any_flatshort.html#f_equal">equal</A> (<A HREF="../base/routine_flatshort.html#f_operands">operands</A>, args)) <B>or</B> (<A HREF="../base/routine_flatshort.html#f_operands">operands</A> = <B>Void</B> <B>implies</B> (args = <B>Void</B> <B>or else</B> args.<A HREF="../base/tuple_flatshort.html#f_is_empty">is_empty</A>))
</A>
    <A NAME="f_set_target"><A HREF="../base/routine_flatshort.html#f_set_target">set_target</A> (a_target: <B>like</B> <A HREF="../base/routine_flatshort.html#f_target">target</A>)
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Set </FONT>`a_target'<FONT COLOR="red"> as the next </FONT><A HREF="../base/routine_flatshort.html#f_target">target</A><FONT COLOR="red"> for remaining calls to Current.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/routine_flatshort.html">ROUTINE</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/routine_flatshort.html">ROUTINE</A>
            a_target_not_void: a_target /= <B>Void</B>
            is_target_closed: <A HREF="../base/routine_flatshort.html#f_is_target_closed">is_target_closed</A>
            target_not_void: <A HREF="../base/routine_flatshort.html#f_target">target</A> /= <B>Void</B>
            same_target_type: <A HREF="../base/routine_flatshort.html#f_target">target</A>.<A HREF="../base/any_flatshort.html#f_same_type">same_type</A> (a_target)
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/routine_flatshort.html">ROUTINE</A>
            target_set: <A HREF="../base/routine_flatshort.html#f_target">target</A> = a_target
</A>    
<B>invariant</B>
        <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
    reflexive_equality: <A HREF="../base/any_flatshort.html#f_standard_is_equal">standard_is_equal</A> (<B>Current</B>)
    reflexive_conformance: <A HREF="../base/any_flatshort.html#f_conforms_to">conforms_to</A> (<B>Current</B>)

<B>end</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">class </FONT><A HREF="../base/predicate_flatshort.html">PREDICATE</A><TABLE BORDER="1" ALIGN="CENTER"><TR><TD><A HREF="../class_list.html">Classes</A></TD><TD><A HREF="../cluster_list.html">Clusters</A></TD><TD><A HREF="../cluster_hierarchy.html">Cluster hierarchy</A></TD><TD><A HREF="predicate_chart.html">Chart</A></TD><TD><A HREF="predicate_links.html">Relations</A></TD><TD>Flat contracts</TD></TR></TABLE></PRE>
<P ALIGN="CENTER"> &#045;&#045; Generated by ISE Eiffel &#045;&#045 </P>
<P ALIGN="CENTER">For more details: <A HREF="http://www.eiffel.com">www.eiffel.com</A></P>
</BODY>
</HTML>

